package com.sinothk.gpserver.modules.biz.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sinothk.gpserver.modules.biz.entity.GroupMemberDto;
import com.sinothk.gpserver.modules.biz.entity.GroupMemberEntity;
import com.sinothk.gpserver.modules.biz.entity.GroupUserDto;
import com.sinothk.server.support.entity.PageData;
import com.sinothk.server.support.entity.PageVo;

/**
 * <p>
 * 俱乐部成员相关 服务类
 * </p>
 *
 * @author Liang Y.t.
 * @since 2021-08-29
 */
public interface IGroupMemberService extends IService<GroupMemberEntity> {

    /**
     * 查询分页数据
     *
     * @param pageVo 分页参数
     * @return PageData
     */
    PageData<GroupMemberEntity> page(PageVo<GroupMemberEntity> pageVo);


    PageData<GroupMemberDto> pageForGroupId(PageVo<GroupMemberEntity> pageVo);

    GroupUserDto getGroupMemberByRoomNumAndAccount(String roomNum, String account) throws Exception;

    void updateUserCoins(String roomNum, String account, float userCoins);

    void addUserCoins(String roomNum, String account, float winCastUser);

    void setGroupPartner(String groupId, String memberAccount) throws Exception;

    PageData<GroupMemberDto> pageGroupMemberForInviterId(PageVo<GroupMemberEntity> pageVo);

}
